[Ver 2023.2 新機能]DCM移行ツールが利用できるようになりました #Alteryx
2023/11/1(アメリカ現地時間)に Alteryx Designer バージョン 2023.2 がリリースされました。
新機能の一つとして Alteryx Designer で「DCM 移行ツール」という機能が利用できるようになりました。こちらの機能を試してみましたので、本記事で内容をまとめます。
DCM移行ツールの概要
DCM 移行ツール(DCM Migration Tool)の機能詳細については、以下のドキュメントに記載があります。 Migration Tool | Alteryx Help
既存のワークフローにおいて ODBC 接続を使用している場合、その接続・認証情報の管理、取得を DCM 経由に移行するためのツールです。
従来の移行方法
これまでの場合、既存のツール接続を DCM 経由に変更するには、各ツール設定の「データ接続マネージャー(DCM)の使用」にチェックを入れる必要がありました。また、この際、既存の設定内容が削除されてしまう仕様でした。
そのため、DCM 経由での接続設定後、接続先のテーブル、コンテンツやオブジェクトなどを再度指定しなければならず、接続やワークフローが多い場合に手間でした。
移行ツールを使用すると、基本的にこの操作は不要となります。また、一覧から複数の接続の内容を置き換えられるので作業もスムーズになります。
DCM移行ツールが使用可能な範囲と制約
以下のファイル内の ODBC 接続がソース(移行元)として検出されます。
- .yxmd (通常のワークフロー)
- .yxwz (分析アプリ)
- .yxmc (マクロ)
後述しますが、ODBC 接続であれば DSN レス接続や「データ接続の管理」経由で接続情報を参照している場合にも利用できます。
注意点として、In-DB ツール、ダウンロードツール、電子メールツールやコネクタ関連(S3 ダウンロード/アップロード、Tableau 入力 など)でも DCM で接続情報の管理は可能ですが、現時点では移行ツールの検出対象とはなっていません。
ODBC 接続と DCM について
Alteryx における ODBC 接続と DCM についても簡単に触れておきます。
前提として、Alteryx では ODBC を使用するデータベース接続が可能です。この際、データにアクセスするために必要な接続・認証情報は、ODBC データ ソース アドミニストレーターと呼ばれる Windows に用意されているツールで ODBC データ ソース として追加したり管理することが可能です。
ODBC データ ソースとして接続情報を保存する際は、DSN(Data Source Name)を設定します。 DSN とは ODBC 接続を表す任意の名称を指し、データベース名、使用するドライバ、ユーザー名、パスワードなどの接続の詳細が保存されたものです。
Alteryx からは、事前に構成済みの DSN を指定することで対象のデータソースに接続することが可能となります。
DSN (データソース名) とは何ですか? | Microsoft サポート
データ入力ツールから ODBC 接続を行うと、下図のように odbc:DSN=<DSN名>
と表示され、ODBC を使用していること、記載の DSN を使用する接続であることが確認できます。
上記の例は、Alteryx から直接 ODBC データ ソース アドミニストレーターを参照している形でしたが、Alteryx の Version 2021.4 以降では、DCM という機能が利用可能となっており、DCM をサポートするツールでは、データベースや SaaS などへの接続情報を DCM 上で一元管理することが可能となっています。この接続情報には、上述の ODBC 接続も含まれます。(ODBC 接続の情報も DCM 経由で取得・参照される)
Alteryx の DCM の概要 | DevelopersIO
DCM に接続情報をまとめることで、複数のワークフローやツール設定に接続情報を都度記入せずに、DCM 上で管理されている設定情報を、指定するだけでよくなるという利点があります。(スムーズに接続情報の設定や指定が行える)
その他にも、Alteryx Server 上のユーザーとの連携や、外部保管庫による認証情報のよりセキュアな管理も可能です。
これらより、既存のワークフローにおいて、接続情報の管理を DCM に移行するメリットは多々あるので、この置き換え作業を容易に実行できる機能として、今回のアップデートで DCM 移行ツールが登場したといえます。
検証環境
以下の環境で検証しています。
- Windows 10 Pro
- Alteryx Designer 2023.2.1.7
移行の手順
移行前のワークフロー
DCM 移行ツールを使用した接続情報の移行手順は容易です。サンプルとして、下図のワークフローを使用します。
このワークフローでは、データ入力/出力ツールから Snowflake に ODBC 接続を実施しています。データ入力ツールの接続設定は下図の通りで、odbc:DSN=<DSN名>
の表示から、ODBC を使用し、Snowflake-odbc-dsn
という名称の DSN を使用していることがわかります。
DCM移行ツールの起動
「オプション 」より [DCM移行ツール] を選択します。
ファイルの選択
下図のようなポップアップが開くので、接続・認証情報の移行対象となるワークフローを選択します。選択の方法として、ファイルを指定するかフォルダ単位でその中のファイル(複数のワークフロー、マクロなど)をまとめて指定することも可能です。
ここでは「ファイルを参照」から、上述のサンプルワークフローを指定しました。すると下図のような表示になります。
移行後のファイルの出力方法を定義
「出力を定義」では、移行後のワークフローの出力方法を選択できます。オプションは以下の通りです。
- 既存のファイルを上書き
- 選択したフォルダーにワークフローをコピー
- 選択したフォルダーに同一の名称で移行後のファイルが作成されます
- 各ワークフローに接尾辞を追加
- 既存のファイルと同一の場所に、指定の接尾辞を付与したファイルを作成します
ここでは「各ワークフローに接尾辞を追加」を選択し、下図のような設定としました。
接続を選択する
「ファイルの読み込み」をクリックすると、対象のフロー内で ODBC 接続を使用しているツールと既存の接続情報が表示されるので、置き換える対象となる DCM 上の「接続」をドロップダウンリストから選択します。「接続」は事前に作成しておくか、 ドロップダウンリスト内の項目のうち「dc.SelectAnotherConnectionOrCreateNew」よりその場で新規作成も可能です。
また、各接続について、左のチェックボックスのチェックを外すことで移行対象から除外することも可能です。
移行の実施
DCM の接続を選択後、[移行] をクリックし、問題なく移行できると下図の表示となり、この時点で、移行先のファイルも作成されています。
移行先のワークフローを開き、データ入力ツールの設定を確認すると下図のようにdcm:<データソース名> - <資格情報名>
からなる、DCM を使用する接続に変更されています。
移行時のログも出力できます。
以下は、サンプルワークフローを使用した際のログです。移行元/先のフローのパスや対象となるツールIDを確認できます。
{ "time": "2023-11-04 00:22:16.1923", "logger": "MigrationTool.General", "level": "INFO", "message": {"version": "2023.2.1.7"} } { "time": "2023-11-04 00:22:16.1923", "logger": "MigrationTool.WorkflowParser", "level": "INFO", "message": {"workflowPath":"<対象のファイルパス>\\Snowflake-odbc-dsn.yxmd","supportedLegacyConnections":[{"fileFormat":23,"toolIds":[1]},{"fileFormat":23,"toolIds":[4]}]} } { "time": "2023-11-04 00:27:00.8216", "logger": "MigrationTool.WorkflowWriter", "level": "INFO", "message": {"sourceWorkflowPath":"<対象のファイルパス>\\Snowflake-odbc-dsn.yxmd","destinationWorkflowPath":"<対象のファイルパス>\\Snowflake-odbc-dsn-dcm.yxmd","connectionMigrations":[{"dcmConnectionId":"<dcm 接続のid>","toolIds":[1,4],"unconfirmed":true}]} }
他の接続方法を試してみる
DSNレス接続
ツール設定に直接接続文字列を記述することで DSN を使用しない DSN レス接続が可能です。
DSN レス接続のパターンと特徴 #Alteryx | DevelopersIO
この場合も移行対象となるか試してみます。ここでは、以下のようにデータ入力ツールの設定欄に Snowflake に関する接続文字列を記述したワークフローを作成し、移行ツールから選択します。
odbc: DRIVER={SnowflakeDSIIDriver}; SERVER={XXX.snowflakecomputing.com}; UID={ユーザー名}; WAREHOUSE={ウェアハウス名}; ROLE={ロール名}; AUTHENTICATOR={snowflake}; PWD={パスワード};
この場合、下図のような表示となり問題なく移行対象として検出されました。
データ接続の管理
Alteryx では、DCM の他に「データ接続の管理」で接続情報を管理し、ツールから参照することも可能です。
この場合、データ接続の管理で作成した接続の名称を使用し、aka:<接続名>
としてツール設定に表示されます。
この方法で接続を使用するワークフローを作成し、移行ツールで指定すると下図のようになり、この場合でも、問題なく移行対象として検出されました。
注意点
さいごに移行ツールを使用して感じた注意点を2点記載しておきます。
DCM を使用する接続は移行対象とならない
既にツール設定から DCM を使用している場合、移行対象として検出されません。(下図の一覧に表示されない。)そのため、現時点では、DCM 接続間の移行には使用できません。
移行元と異なる接続を移行先として指定できる
下図の例では、移行元(ソース)としてワークフローから Snowflake に接続し、移行ツールで異なるデータベース製品として PostgreSQL を指定していますが、この場合でも問題なく移行できてしまいます。
当然、移行先のワークフローを開くと対象のツールでエラー表示となります。設定項目のうち [テーブル] の内容は移行ツールで変更されないため、クエリすることができずエラーとなりますのでご注意ください。
さいごに
DCM移行ツールを試してみました。移行ツールを使用すると、複数のツールやワークフローにの接続を同時に DCM 経由に変更でき、従来のように再度接続先のテーブルを選択する必要もありません。効率的に移行を行えるツールですので、接続を DCM に置き換える際は使っていきたい機能と思います。
今回は以上です。こちらの内容が何かの参考になれば幸いです。